Bridged cryptographic VLAN

ABSTRACT

The invention comprises three extensions of the IEEE 802.1Q VLAN bridge model. The first extension is the cryptographic separation of VLANs over trunk links. A LAN segment type referred to as an encapsulated LAN segment is introduced. All frames on such a segment are encapsulated according to an encryption and authentication code scheme. The second extension is the division of a trunk port into inbound and outbound ports. The third extension is a protocol that automatically infers for each outbound port in a bridged VLAN, a set of LAN segment types for the port that minimizes the number of transfers between encapsulated and unencapsulated segments required to transport a frame in the bridged VLAN.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application is a Continuation-in-Part of U.S. patentapplication Ser. No. 10/057,566, filed Jan. 25, 2002 (Attorney DocketNo. CRAN0006).

BACKGROUND OF THE INVENTION

[0002] 1. Technical Field

[0003] The invention relates to VLANs. More particularly, the inventionrelates to a bridged cryptographic VLAN.

[0004] 2. Description of the Prior Art

[0005] Basic VLAN Concepts

[0006]FIG. 1 shows a simple port-based VLAN 10, comprised of two VLANs,i.e. VLAN A 13 and VLAN B 15. The VLAN to which an untagged framereceived at a port belongs is determined by the Port VLAN ID (PVID)assigned to the receiving port, or by the VLAN ID (VID) associated withthe link-layer protocol carried in the frame (see IEEE Std 802.1v-2001,Virtual Bridged Local Area Networks—Amendment 2: VLAN Classification byProtocol and Port). There must be a way to convey VLAN informationbetween the bridges 12, 14 because they are connected by a trunk link 16that can carry frames from more than one VLAN. A VLAN tag is added toevery frame for this purpose. Such frames are called VLAN-tagged frames.

[0007] Trunk Links

[0008] A trunk link is a LAN segment used for VLAN multiplexing betweenVLAN bridges (see IEEE Std 802.1v-2001, Virtual Bridged Local AreaNetworks—Amendment 2: VLAN Classification by Protocol and Port). Everydevice attached to a trunk link must be VLAN-aware. This means that theyunderstand VLAN membership and VLAN frame formats. All frames, includingend station frames, on a trunk link are VLAN-tagged, meaning that theycarry a non-null VID. There can be no VLAN-unaware end stations on atrunk link.

[0009] The trunk link 16 in FIG. 1 is a multiplexed LAN segment sharedby two bridges 12, 14. In general, many VLAN-aware bridges may beattached to a trunk link.

[0010] The access links 11 are LAN segments that do not multiplex VLANs.Instead, each access link carries untagged frames or VLAN-tagged framesbelonging to a single VLAN. If frames are tagged then all frames on thesegment carry the same VID and end stations on the LAN segment must beVLAN aware.

[0011] Various limitations are encountered with the current state ofVLAN art. One problem is that of cryptographic separation of VLANs overtrunk links. The introduction of a scheme to solve such problem itselfraises the issue of efficient frame transfer between encrypted andunencrypted LAN segments which represent a single VLAN.

SUMMARY OF THE INVENTION

[0012] The invention comprises three extensions of the IEEE 802.1Q VLANbridge model (see IEEE Std 802.1Q-1998, IEEE Standards for Local andMetropolitan Area Networks: Virtual Bridged Local Area Networks). Thefirst extension is the cryptographic separation of VLANs over trunklinks. A new LAN segment type, referred to herein as the encapsulatedsegment type, is introduced. All frames on such a segment areencapsulated according to an encryption and authentication-code scheme.The second extension is the division of a trunk port into inbound andoutbound trunk ports. The third extension is a protocol, referred toherein as the Transfer Point Protocol (TPP), that automatically infersfor each outbound trunk port in a bridged VLAN, a set of LAN segmenttypes for the port that minimizes the number of transfers betweenencapsulated and unencapsulated segments required to transport a framein the bridged VLAN.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013]FIG. 1 is a block schematic diagram showing a port-based VLAN;

[0014]FIG. 2 is a block schematic diagram showing a bridgedcryptographic VLAN according to the invention;

[0015]FIG. 3 is a flow diagram showing construction of a forwarding setaccording to the invention;

[0016]FIG. 4 is a block schematic diagram showing a bridgedcryptographic VLAN with two wireless trunk links according to theinvention;

[0017]FIG. 5 is a block schematic diagram showing a symmetric labelingof outbound ports in a bridged cryptographic VLAN according to theinvention;

[0018]FIG. 6 is a block schematic diagram showing an asymmetric labelingof outbound ports in a bridged cryptographic VLAN according to theinvention;

[0019]FIG. 7 is a block schematic diagram showing a purely encapsulatedtrunk in a bridged cryptographic VLAN according to the invention;

[0020]FIG. 8 is a flow diagram showing TPP message exchange when Bridge1 of FIG. 7 initiates an announce frame for the VLAN according to theinvention;

[0021]FIG. 9 is a block schematic diagram showing a labeling of theoutbound ports, according to the invention, after swapping Bridges 1 and2 in FIG. 7; and

[0022]FIG. 10 is a block schematic diagram showing a labeling of theoutbound ports, according to the invention, in a bridged cryptographicVLAN containing a bridge with three trunk ports.

DETAILED DESCRIPTION OF THE INVENTION

[0023] LAN Segment Types

[0024] Three types of LAN segments represent a VLAN: untagged, tagged,and encapsulated segments. The IEEE 802.1Q standard addresses onlytagged and untagged segment types (see IEEE Std 802.1Q-1998, IEEEStandards for Local and Metropolitan Area Networks: Virtual BridgedLocal Area Networks). The standard specifies bridging semantics only forthe transfer of traffic between tagged and untagged segmentsrepresenting the same VLAN. The invention provides a technique thatextends the bridging semantics to include transferring traffic betweenan unencapsulated segment (tagged or untagged) and an encapsulatedsegment of the same VLAN. In general, any number of LAN segment typescan be introduced.

[0025] There is one frame type for each type of segment representing aVLAN. There are three kinds of frames in a bridged, cryptographic VLAN:untagged, VLAN-tagged (also referred to as tagged), and encapsulated.The first two frame types are those of the IEEE 802.1Q standard (seeIEEE Std 802.1Q-1998, IEEE Standards for Local and Metropolitan AreaNetworks: Virtual Bridged Local Area Networks). An encapsulated frame iscryptographically encapsulated. Every encapsulated frame also has a VLANtag. The tag, however, is different from the tag used within taggedframes belonging to the VLAN. Associated with every VLAN are two uniqueVLAN tags, VID-T (used within tagged frames of the VLAN) and VID-E (usedwithin encapsulated frames of the VLAN).

[0026] For each VLAN, there is a unique security association comprisinga cryptographic authentication code key for checking the integrity andauthenticity of frames that are tagged as belonging to the VLAN, and acryptographic key for ensuring the privacy of all frames belonging tothe VLAN.

[0027] The preferred encapsulation scheme is an “encrypt-then-MAC”scheme. In this scheme, the data payload of a frame is encrypted andthen a message authentication code is computed over the resultingciphertext and the frame's sequence number. This scheme has two majoradvantages: It facilitates forward error correction when used withcertain block ciphers and modes of operation, and it permits frameauthentication without decryption.

[0028] A tagged set, an untagged set, and an encapsulated set of portsis associated with each VLAN. The security association for a VLAN may beused to verify the authenticity and integrity of every frame tagged asbelonging to the VLAN, and received at a port in the VLAN's encapsulatedset. The ingress-filtering rule for the port determines whetherverification occurs. The association may also be used to encapsulatetagged and untagged frames belonging to the VLAN cryptographicallybefore sending them from a port in the VLAN's encapsulated set.

[0029] Trunk Ports

[0030] Every trunk port has an inbound and an outbound port. A trunklink between two trunk ports P1 and P2 connects the inbound port of P1to the outbound port of P2, and the outbound port of P1 to the inboundport of P2. Therefore the sets of LAN segment types to which an inboundport belongs are exactly those of the outbound port to which it isconnected. So, it is sufficient to assign only outbound ports to sets ofLAN segment types in order to completely assign all trunk ports in abridged VLAN to sets of LAN segment types.

[0031] The inbound and outbound ports of a trunk port can belong todifferent sets of LAN segment types. For instance, the outbound port ofa trunk can belong to a VLAN's tagged set, and the inbound port to itsencapsulated set, in which case, only encapsulated frames of the VLANare received on the inbound port, and only tagged frames are ever sentfrom the outbound port.

[0032] Unlike an access port, the inbound or outbound port of a trunkport can belong to both the tagged and encapsulated sets of a VLANsimultaneously.

[0033] The division of a trunk port into inbound and outbound ports isabsent in the 802.1Q standard (see IEEE Std 802.1Q-1998, IEEE Standardsfor Local and Metropolitan Area Networks: Virtual Bridged Local AreaNetworks) where, in effect, the inbound and outbound ports are the sameport. Inbound and outbound frame types are therefore always the same fora given trunk port in 802.1Q.

[0034]FIG. 2 illustrates a bridged, cryptographic VLAN. Ports P1 (20)and P2 (21) are access ports, one for VLAN A 28, and the other for VLANB 29, VLANs A and B having access links 30, 31. A trunk link 16 connectsthe two bridges 12 a, 14 a via trunk ports P3 (22) and P4 (23). P3 hasinbound port P3 _(i) and outbound port P3 _(o) P4 has inbound port P4_(i) and outbound port P4 _(o). P4 _(i) is connected to P3 _(o), and P4_(o) is connected to P3 _(i). Frames received at P4 arrive on inboundport P4 _(i) and those sent out P4 leave via outbound port P4 _(o).Frames received at P3 arrive on inbound port P3 _(i) and those sent outP3 leave via outbound port P3 _(o).

[0035] Ports P5 (24) and P6 (25) are attached to wireless access links30. In the preferred embodiment, they are actually virtual ports thatshare a single radio interface (access point) through which frames aresent and received via RF. VLANs A 28 and B 29 can be represented bydifferent encapsulated segments even though they share the same RFmedium. An end station in VLAN A, for example, can receive but notdecipher any frame belonging to VLAN B. Therefore, distinct access links32, 33 are shown for A and B even though their physical separation isonly cryptographic.

[0036] Suppose P1 receives only untagged frames, and P2 only taggedframes. Further, suppose the trunk link carries tagged frames in bothdirections, and the wireless access links only encapsulated frames. Thenfor VLAN A, the untagged set is {P1}, the tagged set is {P3 _(o), P3_(i), P4 _(o), P4 _(i)} and the encapsulated set is {P5}; and for B thesets are { }, {P2, P3 _(o) P3 _(i), P4 _(o), P4 _(i)}, and {P6}respectively.

[0037] If the ingress-filtering rule at P5 specifies authenticitychecking, then a frame received at P5 is authenticated using thesecurity association for VLAN A. If successful, then the frame isdetermined to be a member of the encapsulated segment for A. Suppose theframe must be forwarded to P4. Then Bridge 2 decapsulates the frameusing the same security association. The bridge forwards thedecapsulated frame to P4 _(o) with its tag replaced by A-T, therebytransferring the frame from A's encapsulated segment to its taggedsegment. Conversely, frames arriving at P4 _(i), and destined for P5 areencapsulated using the security association for A. Tag A-T is replacedby A-E, which transfers the frame from A's tagged segment to itsencapsulated segment.

[0038] There are many variations of the example in FIG. 2. For instance,it may be desirable to protect traffic on VLAN B only. In this case, P5does not belong to the encapsulated set for A. Only frames received atP6, i.e. frames tagged with B-E, are authenticated, and only B-taggedframes received at P4, and destined for P6 are encapsulated.

[0039] Bridging Semantics

[0040] Consider a VLAN bridge having multiple ports. Suppose a frame isreceived at port P. It is assigned to a VLAN in one of several ways. IfP is a trunk port, then the frame must carry a VLAN tag of the formVID-T or VID-E, each of which identifies a VLAN, namely VID. Otherwise,the frame is discarded. If P is not a trunk port, then either port orprotocol-based VLAN classification can be used to assign the frame to aVLAN (see IEEE Std 802.1v-2001, Virtual Bridged Local AreaNetworks—Amendment 2: VLAN Classification by Protocol and Port).

[0041] Ingress Filtering

[0042] If P is a trunk port and is not in the tagged or encapsulatedsets for VID, then the frame is discarded. The ingress-filter rule for aport may specify authentication and integrity checking for certainVLANs. If P is a port whose ingress filter rule requires authenticationand integrity checking for the VLAN VID, then the frame received at Pmust have a VLAN tag VID-E. Otherwise, the frame is discarded. In thepreferred embodiment, an authentication code is computed over thereceived frame's ciphertext and sequence number using the securityassociation for VID. If it does not match the received authenticationcode in the frame, then the frame is discarded. Otherwise, the frame isjudged to belong to the encapsulated segment for VID.

[0043] If P is not in the tagged set for VID, but it is attached to aVLAN-tagged access link, then the received frame is discarded.

[0044] Forwarding Process

[0045] The forwarding process begins by constructing the target port setQ. This is the set of ports to which a frame belonging to a particularVLAN must be forwarded. Suppose a frame received at port P belongs tothe VLAN VID. If the frame must be flooded then Q contains any outboundor access port that is a member of the tagged, untagged, or encapsulatedsets for VID. The next step is to shrink Q if, and only if, P is aninbound port of a trunk that belongs to both the tagged and encapsulatedsets of VID. In this case, every port in the encapsulated set of VIDthat does not belong to the tagged set of VID is removed from Q if thereceived frame is a tagged frame, or every port in the tagged oruntagged set of VID that does not belong to the encapsulated set of VIDis removed from Q if the received frame is encapsulated. Because theinbound port belongs to both sets of LAN segment types for VID, theinbound port must receive a frame of each LAN segment type, andtherefore shrinking the target port set is justified. The Transfer PointProtocol has the property that it guarantees shrinking never results inan empty target port set. Shrinking to an empty target set implies thebridge received a frame that it has no reason to receive.

[0046] The next step in the forwarding process is to construct aforwarding set for the received frame. This is the set of frames to beforwarded as a result of receiving the frame belonging to VID at port P.These are the frames necessary to transfer traffic from one LAN segmentof the VLAN to another. The table shown in FIG. 3 is used to constructforwarding sets. The frame received at P belongs to a kind K of LANsegment for VID (tagged, untagged, or encapsulated). Likewise, everyport in Q belongs to a kind of LAN segment, the kind of port set towhich it belongs for VID. Trunk ports may have two kinds of sets: taggedand encapsulated. For every port q in Q, add a frame to the forwardingset according to rule (K, K′) in the table of FIG. 3, where K′ is a kindof port set to which q belongs for VID.

[0047] The rules for constructing the forwarding set for a receivedframe are as follows:

[0048] (1) Add received frame to forwarding set.

[0049] (2) Add VLAN tag VID-T to received frame; add the result toforwarding set.

[0050] (3) Received frame is cryptographically encapsulated using thesecurity association for VID; resulting frame is VLAN tagged with VID-Eand added to forwarding set.

[0051] (4) Remove VID-T from received frame; add untagged frame toforwarding set.

[0052] (5) Received frame's ciphertext is decrypted using the securityassociation for VID; resulting frame is untagged and added to forwardingset.

[0053] (6) Received frame's ciphertext is decrypted using the securityassociation for VID; resulting frame is tagged with VID-T and added toforwarding set.

[0054] In the presently preferred embodiment, there can be at most threeframes in any forwarding set, corresponding to the three different kindsof LAN segments that can represent a VLAN. The forwarding processforwards the frames of the forwarding set as follows:

[0055] The forwarding process queues for transmission at each port in Qthat belongs to the untagged set for VID, the untagged frame, if any, inthe forwarding set.

[0056] The forwarding process queues for transmission at each port in Qthat belongs to the tagged set for VID, the VLAN-tagged frame, if any,in the forwarding set.

[0057] The forwarding process queues for transmission at each port in Qthat belongs to the encapsulated set for VID, the encapsulated frame, ifany, in the forwarding set.

[0058] Frame Transfer

[0059] Within a bridged, cryptographic VLAN, steps are taken toeliminate redundant transfers between LAN segments representing the sameVLAN. For instance, it is desirable to avoid transferring anunencapsulated frame to a VLAN's encapsulated segment more than once ina bridged VLAN because each transfer requires encryption. Encapsulationshould be done once and shared by all egress ports that belong to theVLAN's encapsulated set across all bridges. Similarly, it is desirableto avoid repeated decapsulation across bridges because each calls fordecryption. For instance, consider the bridged LAN in FIG. 4. Supposethe ports of Bridges 1 (41) and 2 (42) to which the wireless trunk links43 are attached belong to the encapsulated set for VLAN B 44. If thetrunk link 45 carries only VLAN-tagged frames, then frames belonging toVLAN B that are received at Bridge 1 must be encapsulated at Bridges 1and 2. However, if the trunk link carries encapsulated frames thenencapsulation need only be done at Bridge 1 and shared with Bridge 2.

[0060] There are also situations where encapsulation can be done tooearly in a bridged LAN, forcing encapsulated frames to be sent overtrunk links unnecessarily. There is a transfer point for encapsulationand decapsulation for each VLAN that minimizes cryptographic operations.The Transfer Point Protocol (discussed below) infers this transfer pointbetween segments.

[0061] Transfer Point Protocol

[0062] A minimum spanning tree algorithm can reduce any bridged LAN to aspanning tree whose nodes are the bridges and whose edges are trunklinks. A spanning tree induces a partial order on bridges. For instance,we can take as the partial order B1<B2, where bridge B1 is the parent ofB2 in the spanning tree. The least bridge is the root of the spanningtree. The set of bridges together with the partial order defines acomplete, partially ordered set. Every nonempty subset of bridges has aleast upper bound.

[0063] Consider frames received at the root of the spanning tree. Theleast upper bound of all bridges requiring a received frame of a VLAN tobelong to one of the LAN segments representing the VLAN is the transferpoint for converting received frames to frames for that LAN segment.

[0064] The Transfer Point Protocol (TPP) comprises two link-layerprotocols, TPP-T for adding outbound trunk ports to the tagged set of aVLAN, and TPP-E for adding outbound trunk ports to the encapsulated setof a VLAN. The trunk ports are across all bridges that bridge the VLAN.For example, TPP-E determines that the outbound trunk port connectingBridge 1 to Bridge 2 in FIG. 4 must be a member of the encapsulated setfor VLAN B. That way the wireless trunk port at Bridge 2 can shareencapsulations performed by Bridge 1 for its outbound wireless trunkport.

[0065] TPP assumes that every access link port has been assigned to thetagged, untagged, or encapsulated set for a VLAN prior to executionbecause it uses this information to infer the sets to which outboundtrunk ports in the bridged VLAN belong. TPP-E can assign an outboundtrunk port to the encapsulated set of a VLAN, while TPP-T can assign thesame outbound port to the tagged set of the VLAN.

[0066] TPP has two frames types, the announce frame, and the replyframe. Each of these frames contains a VLAN ID and a source bridgerouting path, where each entry in the path is a unique pair containing abridge MAC address and three bits, one bit for each LAN segment type,i.e. tagged, untagged, and encapsulated. The tagged bit is high if andonly if the bridge addressed in the pair has an access port in thetagged set of the VLAN named in the frame. The untagged and encapsulatedbits are set likewise.

[0067] A bridge sends a TPP announce frame, e.g. a GARP PDU, to a TPPgroup address, e.g. a GARP application address, through each of itsoutbound trunk ports for every VLAN known to it. When a bridge receivesan announce frame, it appends to the right of the path the pair foritself regarding the named VLAN received, and forwards the frame to eachof its enabled, outbound trunk ports except the receiving trunk port. Ifit has no other such ports, then it sends the final routing path andreceived VID in a TPP reply frame to the MAC address that precedes it inthe routing path. The originating bridge of an announce frame creates apath consisting only of a pair for itself. When a bridge receives a TPPreply frame on an inbound trunk port, it forwards the reply frame to thebridge MAC address that precedes it in the path. If there is none, theframe is discarded.

[0068] TPP-E

[0069] When a bridge receives a TPP reply frame on a trunk port, it addsthe trunk's outbound port to the encapsulated set for the VID in theframe if, and only if, it is followed by a bridge B in the routing pathwhose encapsulated bit is high, and either

[0070] a) the receiving bridge has a tagged or untagged access port forthe VID and no bridge after it in the routing path, up to and includingB, has a high tagged or untagged bit; or

[0071] b) the receiving bridge has an encapsulated access port for theVID, or is preceded by a bridge in the routing path with a highencapsulated bit.

[0072] TPP-T

[0073] When a bridge receives a TPP reply frame on a trunk port, it addsthe trunk's outbound port to the tagged set for the VID in the frame if,and only if, it is followed by a bridge B in the routing path whosetagged or untagged bit is high, and either

[0074] a) the receiving bridge has an encapsulated access port for theVID and no bridge after it in the routing path, up to and including B,has a high encapsulated bit; or

[0075] b) the receiving bridge has a tagged or untagged access port forthe VID, or is preceded by a bridge in the routing path with a hightagged or untagged bit.

EXAMPLES Example 1

[0076] Consider bridging a single VLAN. Each access port therefore isassumed to belong to this VLAN. Thus, VLAN labeling of ports is omittedin the examples. Instead, the outbound trunk ports are labeled with LANsegment types, i.e. T (tagged), U (untagged), and E (encapsulated). Ifan outbound port is labeled with U, for example, then the port belongsto the untagged set of the VLAN.

[0077] Initially, every access port is labeled according to the kind ofset to which the port belongs for the VLAN. Trunk ports are initiallyunlabeled. It is the job of TPP to infer labels for them. FIG. 5 shows abridging of a VLAN 50 where two bridges 51, 52 are connected by a trunk53. Each bridge has two access ports. Because each bridge has bothuntagged and encapsulated access ports, TPP infers that both outboundports of the trunk belong to the tagged and encapsulated sets of theVLAN. Each inbound port also belongs to these sets.

[0078] Each outbound port is a member of the tagged set per rule TPP-T(b). Each bridge infers this fact when it initiates a TPP announceframe. Therefore, both the encryption and decryption done by each bridgeis shared with the other.

Example 2

[0079] In FIG. 6, Bridge 1 (61) has an untagged access port and Bridge 2(62) has an encapsulated access port. Therefore, the outbound port 63 ofBridge 1 is a member of the encapsulated set per rule TPP-E (a) whereasthe outbound port 64 of Bridge 2 is a member of the tagged set per ruleTPP-T (a).

Example 3

[0080]FIG. 7 illustrates a purely encapsulated trunk link. All framesover the link are encapsulated, however, no encryption is done atBridges 2 or 3.

[0081]FIG. 8 shows the TPP message exchange between Bridges 1 (71), 2(72), and 3 (73) when Bridge 1 (71) of FIG. 7 initiates an announceframe for the VLAN, which we assume for the example is named “B”.

Example 4

[0082] If Bridges 1 (71) and 2 (72) in FIG. 7 are interchanged, theresult is the bridged cryptographic VLAN of FIG. 9.

Example 5

[0083]FIG. 10 shows a bridge 82 with three trunk ports, each connectedto another bridge 81, 83, 84. The outbound port of the trunk from Bridge4 (84) belongs to the tagged and encapsulated sets, whereas the outboundport of Bridge 2 (82) that is connected to the inbound port of Bridge 4is only a member of the encapsulated set.

[0084] TPP may run repeatedly to infer changes in transfer points. Howfrequently it runs and the number of bridges it affects depends on thedisplacement of access links. For example, if an end station iswireless, then movement of the station with respect to the bridged LANcan result in its encapsulated access link being relocated. Until TPP isrerun, there may be redundant transfers for a VLAN.

[0085] A bridged VLAN may consist of bridges that do not participate inTPP. In general, there may be one or more cryptographic VLAN bridgeswith trunk ports connected to legacy VLAN bridges. If each such trunkport is viewed instead as a collection of virtual, tagged access ports,one port for each VLAN tag that can be sent over the trunk, then TPP canstill be run to infer transfer points among participating bridges.However, there may be redundant transfers across the entire bridged LAN.For example, if a nonparticipating core switch were to separate twocryptographic VLAN bridges, each having an access port in theencapsulated set of the same VLAN, then traffic between theseencapsulated segments would be decrypted upon entry to the core and thenre-encrypted after exiting. Observe that no encryption or decryption isneeded if there are no access ports in the core that belong to thetagged or untagged sets of the VLAN. In this case, TPP can treat thevirtual access port for each VLAN tag as an encapsulated access portrather than a tagged access port. Then all traffic between the twoencapsulated segments can traverse the core transparently asencapsulated frames because every encapsulated frame is a VLAN-taggedframe.

[0086] Group Security

[0087] A cryptographicVLAN v is defined by a group of m stations thathas a unique security association. The association consists of thefollowing:

[0088] a) an encryption key K_(v),

[0089] b) an authentication code key K′_(v),

[0090] c) a distribution key K″_(v), and

[0091] d) m random values R₁, R₂, . . . , R_(m).

[0092] The encryption key is a symmetric key used by v-aware bridges andstations of v to encrypt and decrypt frames belonging to v. All v-awarebridges, and stations of v, compute and verify authentication codes overencrypted frames of v using K′_(v).

[0093] There is one random value for each of the m stations. The i^(th)station of the group knows all m random values except R_(i). The m−1random values it knows are communicated to it by a v-aware bridge.Privacy of the random values is ensured by encryption using distributionkey K″_(v), while their authenticity is ensured by an authenticationcode computed over the resulting ciphertext using authentication codekey K′_(v).

[0094] Joining a Cryptographic VLAN

[0095] Joining a cryptographic VLAN is done with a two-step protocol:

[0096] adding a new station to the group, and

[0097] enabling all other stations in the group to eliminate the newstation later.

[0098] A user's station joins a cryptographic VLAN v through a mutualauthentication protocol executed between the user, via the station, andan authenticator residing on a v-aware bridge. If mutual authenticationsucceeds, a secure ephemeral channel is created between the bridge andthe new station to transfer K_(v), K′_(v), and R₁, R₂, . . . , R_(m)securely from the bridge to the station. Then the second step of thejoin protocol executes. Otherwise, the protocol terminates immediately.In the second step, the same v-aware bridge chooses a new random valueR_(m+1) for the new station, and distributes it to all v-aware bridges,and stations comprising v, in a broadcast frame that is encrypted underK″_(v) and carries an authentication code computed over the ciphertextusing K′_(v). The bridge then creates a new distribution key for v anddistributes it to all v-aware bridges and to members of v, including thenew station, in a broadcast frame that is encrypted under K_(v) andcarries an authentication code computed over the ciphertext usingK′_(v).

[0099] Although the new station can verify the authenticity of thebroadcast containing its own random value R_(m+1), it is unable todecrypt it because it does not hold key K″_(v).

[0100] Leaving a Cryptographic VLAN

[0101] A subgroup of stations can simultaneously leave a cryptographicVLAN v, perhaps involuntarily. Suppose stations 1, . . . , k of a groupleave. When this happens, it is detected by a v-aware bridge which thenannounces the departure of stations 1, . . . , k via a single broadcastframe that includes an authentication code computed over the frame usingK′_(v). The broadcast will notify every v-aware bridge and station inthe group that stations 1, . . . , k have left. Each such bridge andstation then attempts to rekey the encryption, authentication code, anddistribution keys for v, each as a function of the old key and therandom values R₁, . . . , R_(k). Every v-aware bridge and all remainingstations in v will share a new security association as a result,including k fewer random values.

[0102] Every v-aware bridge always has the current distribution key forv, unlike a station. So every such bridge always has the complete set ofrandom values for any subgroup that leaves v, thereby allowing it toalways rekey the keys for v. The situation is different for stationshowever. Rekeying is a function of the random values for departingstations, values that these stations do not have. Therefore, they areunable to rekey. Furthermore, forward secrecy is guaranteed. A departedstation can never become a member of v again as a result of subsequentrekeyings. This is because rekeying is a function of the current keyswhich means that all keys arrived at thereafter will always be afunction of a random value unknown to the station. Only throughrejoining v can the station ever become a member of v again.

[0103] Although the invention is described herein with reference to thepreferred embodiment, one skilled in the art will readily appreciatethat other applications may be substituted for those set forth hereinwithout departing from the spirit and scope of the present invention.Accordingly, the invention should only be limited by the Claims includedbelow.

1. A method for extending VLAN bridging semantics, comprising the stepsof: providing an untagged frame and a tagged frame in accordance withthe IEEE 802.1Q VLAN bridge model; providing a cryptographicallyencapsulated frame, wherein every encapsulated frame has a VLAN tag thatis different from a tag used within tagged frames belonging to saidVLAN; providing a trunk port divided into inbound and outbound trunkports; providing one of said untagged, tagged, and encapsulated frametype for each segment representing a bridged, cryptographic VLAN; andtransferring traffic between an unencapsulated segment (tagged oruntagged) and an encapsulated segment of a same VLAN.
 2. The method ofclaim 1, further comprising the step of: associating with every VLAN twounique VLAN tags, said two unique VLAN tags comprising VID-T, which isused within tagged frames of said VLAN, and VID-E, which is used withinencapsulated frames of said VLAN.
 3. The method of claim 1, wherein foreach VLAN, there is a unique security association comprising acryptographic authentication code key for checking integrity andauthenticity of frames that are tagged as belonging to said VLAN, and acryptographic key for ensuring privacy of all frames belonging to saidVLAN.
 4. The method of claim 1, wherein said encapsulated frame isencapsulated in accordance with an encrypt-then-MAC method, whichcomprises the steps of: encrypting a data payload of a frame; andcomputing a message authentication code over a resulting ciphertext andsaid frame's sequence number.
 5. The method of claim 1, wherein a taggedset, an untagged set, and an encapsulated set of ports is associatedwith each VLAN.
 6. The method of claim 1, further comprising the stepof: using a security association for a VLAN to verify authenticity andintegrity of every frame tagged as belonging to said VLAN, and receivedat a port in said VLAN's encapsulated set.
 7. The method of claim 6,further comprising the step of: providing an ingress-filtering rule forsaid port to determine whether verification occurs.
 8. The method ofclaim 6, further comprising the step of: using said association toencapsulate tagged and untagged frames belonging to said VLANcryptographically before sending them from a port in said VLAN'sencapsulated set.
 9. An apparatus for sending frames in bridged,cryptographic VLANs, comprising: at least two bridges; a plurality oftrunk links wherein every trunk link of said trunk links is associatedwith the inbound trunk port of one bridge of said at least two bridgesand the outbound trunk port of another bridge of said at least twobridges; a plurality of access ports; a plurality of access linkswherein every access link of said access links is associated with oneaccess port of said access ports; and means for representing said VLANsby different encapsulated segments even though they share a same medium,wherein physical separation of said VLANs is cryptographic.
 10. Theapparatus of claim 9, further comprising: an ingress-filtering ruleassociated with at least one of said access ports for specifyingauthenticity checking, wherein a frame received at said one of saidaccess ports is authenticated using a security association for anassociated VLAN; wherein, if authentication successful, then said frameis determined to be a member of an encapsulated segment for saidassociated VLAN.
 11. The apparatus of claim 10, wherein saidingress-filter rule associated with at least one of said access portsspecifies authentication and integrity checking for certain of saidVLANs.
 12. The apparatus of claim 11, further comprising: anauthentication code that is computed over a received frame's ciphertextand sequence number using said security association; wherein, if saidauthentication code does not match a received authentication code insaid frame, then said frame is discarded; and wherein said frame isotherwise determined to belong to an encapsulated segment for anassociated VLAN.
 13. The apparatus of claim 9, further comprising: oneor more rules for constructing a target port set for a frame received atan inbound port that belongs to the tagged and encapsulated sets of aVLAN; wherein, every port in the encapsulated set of said VLAN that isnot a member of the tagged set of said VLAN is removed if said frame istagged; and wherein, every port in either the tagged or untagged sets ofsaid VLAN that is not a member of the encapsulated set of said VLAN isremoved if said frame is encapsulated.
 14. The apparatus of claim 9,further comprising: one or more rules for constructing a forwarding setfor a received frame, which rules may comprise any of the following: adda received frame to said forwarding set; add a VLAN tag to a receivedframe; add the result to said forwarding set; a received frame iscryptographically encapsulated using a security association; a resultingframe is VLAN tagged and added to said forwarding set; remove a VLAN tagfrom a received frame; add an untagged frame to said forwarding set; areceived frame's ciphertext is decrypted using a security association; aresulting frame is untagged and added to said forwarding set; and areceived frame's ciphertext is decrypted using a security association; aresulting frame is tagged and added to said forwarding set.
 15. A methodfor forwarding frames of a forwarding set that is defined with respectto the target port set for a received frame of a VLAN, comprising thesteps of: queuing an untagged frame, if any, in said forwarding set, fortransmission at every port in said target set that belongs to theuntagged set for said VLAN; queuing an VLAN-tagged frame, if any, insaid forwarding set, for transmission at every port in said target setthat belongs to the tagged set for said VLAN; and queuing anencapsulated frame, if any, in said forwarding set, for transmission atevery port in said target set that belongs to the encapsulated set forsaid VLAN.
 16. A method for eliminating redundant transfers between LANsegments in a bridged, cryptographic VLAN, comprising the steps of:avoiding transfer of an unencapsulated frame to a VLAN's encapsulatedsegment more than once in a bridged VLAN where each transfer requiresencryption; performing encapsulation once, said encapsulation beingshared by all egress ports that belong to said VLAN's encapsulated setacross all bridges; and avoiding repeated decapsulation across bridgesin said bridged VLAN where each requires decryption.
 17. A method fordetermining optimal transfer points between LAN segments representing abridged, cryptographic VLAN, comprising the steps of: reducing anybridged LAN to a spanning tree whose nodes are said bridges and whoseedges are trunk links to induce a partial order on said bridges; whereina least bridge is the root of said spanning tree; wherein the set ofbridges together with a partial order define a complete, partiallyordered set; and wherein every nonempty subset of said bridges has aleast upper bound; wherein said least upper bound of all bridgesrequiring a received frame of a VLAN to belong to one of said LANsegments representing said VLAN is an optimal transfer point forconverting received frames to frames for that LAN segment; and deducingautomatically, from an assignment of bridge access ports in said bridgedVLAN to said LAN segments, the smallest set of LAN segments that must beassociated with a given outbound trunk port in order to bridge saidVLAN.
 18. An apparatus for implementing a transfer point protocol (TPP)in a bridged, cryptographic VLAN, comprising: at least two bridges; aplurality of trunk links wherein every trunk link of said trunk links isassociated with an inbound trunk port of one bridge of said at least twobridges and an outbound trunk port of another bridge of said at leasttwo bridges; a plurality of access ports; a plurality of access linkswherein every access link of said access links is associated with oneaccess port of said access ports; and means for representing said VLANsby different encapsulated segments even though they share a same medium,wherein physical separation of said VLANs is cryptographic; twolink-layer protocols, a first link-layer protocol (TPP-T) for addingoutbound ports to the tagged set of a VLAN, and a second link-layerprotocol (TPP-E) for adding outbound ports to the encapsulated set of aVLAN; and wherein every access port is assigned to a tagged, untagged,or encapsulated set for a VLAN prior to execution.
 19. The apparatus ofclaim 18, said transfer point protocol (TPP) further comprising: twoframes types, one of said frame types comprising an announce frame, anda second of said frame types comprising a reply frame; wherein each ofsaid frames contains a VLAN ID and a source bridge routing path, whereeach entry in said path is a unique pair containing a bridge MAC addressand three bits, one bit for each LAN segment type, wherein said taggedbit is high if and only if a bridge addressed in said pair has an accessport in a tagged set of said VLAN named in said frame, and wherein saiduntagged and encapsulated bits are set likewise.
 20. A transfer pointprotocol (TPP) in a bridged, cryptographic VLAN, comprising the stepsof: a bridge sending a TPP announce frame to a TPP group address througheach of its trunk ports for every VLAN known to it; when a bridgereceives an announce frame, said bridge appending to received routingpath an entry for itself regarding the received VLAN ID, and forwardingsaid frame to each of its enabled, outbound trunk ports except thereceiving trunk port; wherein if said bridge has no other such trunkports, then said bridge sending a final routing path and said receivedVLAN ID in a TPP reply frame to the MAC address that precedes saidbridge in said routing path; an originating bridge of an announce framecreating a path consisting only of an entry for itself; when a bridgereceives a TPP reply frame, said bridge forwarding said reply frame tothe bridge MAC address that precedes said bridge in said routing path;and if there is none, discarding said frame.
 21. The protocol of claim20, wherein when a bridge receives a TPP reply frame on an inbound trunkport, said bridge adds the outbound port corresponding to said inboundtrunk port to the encapsulated set for the VLAN ID in said frame if, andonly if, said bridge is followed by another bridge in said routing pathwith an encapsulated access port, and either: said bridge has a taggedor untagged access port for said VLAN ID and no bridge after it in saidrouting path, up to an including said other bridge, has a tagged oruntagged access port; or said bridge has an encapsulated access port forsaid VLAN ID, or said bridge is preceded by another bridge in saidrouting path with an encapsulated access port.
 22. The protocol of claim20, wherein when a bridge receives a TPP reply frame on an inbound trunkport, said bridge adds the outbound port corresponding to said inboundtrunk port to the tagged set for the VLAN ID in said frame if, and onlyif, said bridge is followed by another bridge in said routing path witha tagged or untagged access port, and either: said bridge has anencapsulated access port for said VLAN ID and no bridge after it in saidrouting path, up to an including said other bridge, has an encapsulatedaccess port; or said bridge has a tagged or untagged access port forsaid VLAN ID, or said bridge is preceded by another bridge in saidrouting path with a tagged or untagged access port.
 23. The protocol ofclaim 20, wherein the outbound port of a trunk port is treated as: a setof virtual, tagged access ports with one said tagged access port foreach VLAN supported by said trunk port; a set of virtual, encapsulatedaccess ports with one said encapsulated access port for each VLANsupported by said trunk port; or a set of virtual, encapsulated orvirtual, tagged access ports with one said tagged or encapsulated accessport for each VLAN supported by said trunk port.
 24. A protocol foraccess link displacement in a bridged, cryptographic VLAN, comprisingthe steps of: recognizing an access port of a bridge of said bridgedVLAN with which a displaced access link can be associated, wherein saidaccess port may be virtual and created automatically; automaticallyassigning said access port to a LAN segment type based on a segment typeof said displaced access link; and executing a transfer port protocol(TPP) for said bridged VLAN with said access port belonging to saidassigned LAN segment type.
 25. A method for establishing a groupsecurity association for a cryptographic VLAN comprising m stations,comprising the steps of: providing an encryption key K v, wherein saidencryption key is a symmetric key used by v-aware bridges and stationsof v to encrypt and decrypt frames belonging to v; providing anauthentication code key K¢ v, wherein all v-aware bridges, and stationsof v, compute and verify authentication codes over encrypted frames of vusing K¢ v; providing a distribution key K¢¢ v; and providing m randomvalues R1, R2, . . . , Rm, wherein there is one random value for each ofsaid m stations, wherein an ith station of said group knows all m randomvalues except Ri, wherein said m−1 random values that said ith stationknows are communicated to it by a v-aware bridge; wherein privacy ofsaid random values is ensured by encryption using said distribution keyK¢¢ v, while their authenticity is ensured by an authentication codecomputed over a resulting ciphertext using said authentication code keyK¢ v.
 26. A method for joining a cryptographic VLAN, comprising thesteps of: adding a new station to a group; and enabling all otherstations in said group to eliminate said new station later.
 27. Themethod of claim 26, said step of adding a new station to a group furthercomprising the step of: a user's station joining a cryptographic VLAN vthrough a mutual authentication protocol executed between said user, viasaid user's station, and an authenticator residing on a v-aware bridge;wherein if mutual authentication succeeds, a secure ephemeral channel iscreated between said v-aware bridge and said new station to transfer anencryption key K v, an authentication code key K¢ v, and m random valuesR1, R2, . . . , Rm securely from said v-aware bridge to said newstation, in which case said enabling step executes; otherwise, saidprotocol terminates immediately.
 28. The method of claim 27, said stepof enabling all other stations in said group to eliminate said newstation later further comprising the steps of: said v-aware bridgechoosing a new random value Rm+1 for said new station, and distributingsaid new random value Rm+1 to all v-aware bridges, and stationscomprising v, in a broadcast frame that is encrypted under adistribution key K¢¢ v and that carries an authentication code computedover ciphertext using K¢ v, said bridge then creating a new distributionkey for v and distributing said new distribution key to all v-awarebridges and to members of v, including said new station, in a broadcastframe that is encrypted under K v and that carries an authenticationcode computed over said ciphertext using K¢ v.
 29. The method of claim28, wherein said new station can verify authenticity of a broadcastcontaining its own random value Rm+1, but is unable to decrypt saidbroadcast because it does not hold key K¢¢ v.
 30. A method for leaving acryptographic VLAN, comprising the steps of: detecting with a v-awarebridge a subgroup of stations 1, . . . , k simultaneously leaving acryptographic VLAN v; said bridge v-aware announcing the departure ofsaid stations 1, . . . , k via a single broadcast frame that comprisesan authentication code computed over said frame using an authenticationcode key K¢ v, wherein said broadcast notifies every v-aware bridge andstation in group v that stations 1, . . . , k have left; each suchbridge and station then attempting to rekey encryption, authenticationcode, and distribution keys for v, each as a function of an old key andrandom values R1, . . . , Rk; and every v-aware bridge and all remainingstations in groupv sharing a new security association as a result,comprising k fewer random values.
 31. The method of claim 30, whereinevery v-aware bridge always has a current distribution key for v; andwherein every v-aware bridge always has a complete set of random valuesfor any subgroup that leaves group v, thereby allowing it to alwaysrekey the keys for group v.
 32. The method of claim 30, wherein forstations rekeying is a function of random values for departing stationsthat these stations do not have, wherein said stations are unable torekey.
 33. The method of claim 30, wherein a departed station can neverbecome a member of groujp v again as a result of subsequent rekeyingsbecause rekeying is a function of current keys, and all keys arrived atthereafter are always a function of a random value unknown to saiddeparted station.
 34. The method of claim 30, wherein a departed stationcan only become a member of v again by rejoining v.